// Copyright (c) Duende Software. All rights reserved.
// See LICENSE in the project root for license information.


using System.Threading.Tasks;
using Duende.IdentityServer.Models;

namespace Duende.IdentityServer.Services
{
    /// <summary>
    /// The backchannel authentication throttling service.
    /// </summary>
    public interface IBackchannelAuthenticationThrottlingService
    {
        /// <summary>
        /// Decides if the requesting client and request needs to slow down.
        /// </summary>
        Task<bool> ShouldSlowDown(string requestId, BackChannelAuthenticationRequest details);
    }
}